package jpa4azure.impl;

import java.util.List;
import java.util.Set;

import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.ParameterExpression;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Selection;
import javax.persistence.criteria.Subquery;
import javax.persistence.metamodel.EntityType;

public abstract class CriteriaQueryAdaptor<T> implements CriteriaQuery<T> {

	
	public <X> Root<X> from(Class<X> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public <X> Root<X> from(EntityType<X> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public List<Expression<?>> getGroupList() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Predicate getGroupRestriction() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Predicate getRestriction() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Class<T> getResultType() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Set<Root<?>> getRoots() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Selection<T> getSelection() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public boolean isDistinct() {
		// TODO Auto-generated method stub
		return false;
	}

	
	public <U> Subquery<U> subquery(Class<U> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> distinct(boolean arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public List<Order> getOrderList() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public Set<ParameterExpression<?>> getParameters() {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> groupBy(Expression<?>... arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> groupBy(List<Expression<?>> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> having(Expression<Boolean> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> having(Predicate... arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> multiselect(Selection<?>... arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> multiselect(List<Selection<?>> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> orderBy(Order... arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> orderBy(List<Order> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> select(Selection<? extends T> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> where(Expression<Boolean> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	
	public CriteriaQuery<T> where(Predicate... arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	public abstract TypedQuery<T> getTypedQuery(AzureEntityManager client);

}
